﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Abp.Extensions;
using LeadThing.AbpZeroTemplate.Areas;

namespace LeadThing.AbpZeroTemplate.Areas.Dtos
{
    /// <summary>
    /// 地区编辑用Dto
    /// </summary>
    [AutoMap(typeof(Area))]
    public class AreaDto
    {

        /// <summary>
        ///   主键Id
        /// </summary>
        [DisplayName("主键Id")]
        public long? Id { get; set; }

        #region 拓展字段
        /// <summary>
        /// 镇
        /// </summary>
        [DisplayName("镇")]
        public int TownID { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        [DisplayName("区")]
        public int AreaID { get; set; }

        /// <summary>
        /// 村庄
        /// </summary>
        [DisplayName("村")]
        public int VillageID { get; set; }
        #endregion

        /// <summary>
        /// 行政区划代码
        /// </summary>
        [DisplayName("行政区划代码")]
        [MaxLength(50)]
        public string Code { get; set; }

        /// <summary>
        /// 城市名称
        /// </summary>
        [DisplayName("城市名称")]
        [Required]
        [MaxLength(100)]
        public string Title { get; set; }

        /// <summary>
        /// 父ID
        /// </summary>
        [DisplayName("所属父网格")]
        [Required]
        public int ParentId { get; set; }

        /// <summary>
        /// 英文首字母
        /// </summary>
        [DisplayName("英文首字母")]
        [MaxLength(50)]
        public string FirstLetter { get; set; }

        /// <summary>
        /// 城市等级(0:镇,1:区,2:村)
        /// </summary>
        [DisplayName("城市等级(0:镇,1:区,2:村)")]
        public int Level { get; set; }

        /// <summary>
        /// X坐标
        /// </summary>
        [DisplayName("经度")]
        [Required]
        [MaxLength(100)]
        public string XPoint { get; set; }


        /// <summary>
        /// Y坐标
        /// </summary>
        [DisplayName("纬度")]
        [Required]
        [MaxLength(100)]
        public string YPoint { get; set; }

        /// <summary>
        /// 户数
        /// </summary>
        [DisplayName("户数")]
        [Required]
        public int Households { get; set; }

        /// <summary>
        /// 人数
        /// </summary>
        [DisplayName("人数")]
        [Required]
        public int PersonNum { get; set; }

        /// <summary>
        /// 文件ID
        /// </summary>
        [DisplayName("文件ID")]
        public int FileID { get; set; }

        /// <summary>
        /// 内容
        /// </summary>
        [DisplayName("内容")]
        public string Remarks { get; set; }

        /// <summary>
        /// 监控用户名
        /// </summary>
        [DisplayName("监控用户名")]
        [Required]
        [MaxLength(50)]
        public string MonitorUserId { get; set; }

        /// <summary>
        /// 监控密码
        /// </summary>
        [DisplayName("监控密码")]
        [Required]
        [MaxLength(50)]
        public string MonitorPwd { get; set; }

        /// <summary>
        /// 影像ID
        /// </summary>
        [DisplayName("摄像头ID")]
        [Required]
        [MaxLength(400)]
        public string CameraID { get; set; }

    }
}
